Skip to content

Mark the IBM MQ and IBM Db2 providers as ready for release - #73708

Merged
dabla merged 2 commits into
apache:mainfrom
dabla:fix/ibm-mq-provider-ready
Sep 25, 2026
Merged

dabla merged 2 commits into
apache:mainfrom
dabla:fix/ibm-mq-provider-ready

Conversation

@dabla

@dabla dabla commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

The IBM MQ provider (#62790) and the IBM Db2 provider (#67532) were both merged with state: not-ready on reviewer request, so that they would not be picked up by a release wave before their first review cycle, with the intent of graduating them in a follow-up once they had shipped a release. Release tooling filters on state alone (lifecycle is never read, see #70275), so both have stayed unreleased: not-ready providers only enter a wave when the release manager passes --include-not-ready-providers, which regular waves do not do.

lifecycle: incubation does not block a release. The other incubating providers added this year (DuckDB, ClickHouse, Vespa, Anthropic, Akeyless, Apache Arrow, Informatica) were all merged with state: ready and shipped their first version in the following wave. Releasing 0.1.0 is also the precondition for either provider ever accumulating the usage, issues and contributors that graduation from incubation requires under AIP-95.

This flips both states to ready and keeps lifecycle: incubation. As a consequence each provider re-enters its own extra and the all extra of the meta-package (they were stripped for unreleased providers in #71165), guarded by the ARM platform markers each provider already declares, and uv.lock gains the matching entries. The provider build files regenerate byte-identical; both changelogs already carry the 0.1.0 "Initial version" entry.

Both providers went through the acceptance process on the devlist:

The IBM Db2 provider was contributed by @Amitkumar293 and @ShubhamKapoor992, who asked during review to release it as ready; this PR gives them that release.

Checks run locally: prek run --stage pre-commit on the changed files, and uv lock --check (with uv 0.12.13, the version recorded in the lock) passes on the resulting lock.


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Fable 5.1)

Generated-by: Claude Code (Fable 5.1) following the guidelines

🤖 Generated with Claude Code

@shahar1

shahar1 commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

The IBM MQ provider was merged in #62790 with state: not-ready on the reviewer's request, so that it would not be picked up by a release wave before its first review cycle, with the intent of graduating it in a follow-up once it had shipped a release. Release tooling filters on state alone (lifecycle is never read, see #70275), so the provider has stayed unreleased since May: not-ready providers only enter a wave when the release manager passes --include-not-ready-providers, which regular waves do not do.

lifecycle: incubation does not block a release. The other incubating providers added this year (DuckDB, ClickHouse, Vespa, Anthropic, Akeyless, Apache Arrow, Informatica) were all merged with state: ready and shipped their first version in the following wave. Releasing 0.1.0 is also the precondition for the provider ever accumulating the usage, issues and contributors that graduation from incubation requires under AIP-95.

This flips the state to ready and keeps lifecycle: incubation. As a consequence the provider re-enters the ibm.mq and all extras of the meta-package (they were stripped for unreleased providers in #71165), guarded by the same ARM platform markers the provider already declares, and uv.lock gains the matching entries. The provider build files regenerate byte-identical; the changelog already carries the 0.1.0 "Initial version" entry.

The acceptance discussion for this provider was held on the devlist in March: https://lists.apache.org/thread/oshbc4gzlt9t9z3vpr1nv7z3w1vffyd8

Checks run locally: prek run --stage pre-commit on the changed files, and uv lock --check (with uv 0.12.13, the version recorded in the lock) passes on the resulting lock.

Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Fable 5.1)

Generated-by: Claude Code (Fable 5.1) following the guidelines

🤖 Generated with Claude Code

As it has been non-ready since March - could you please ensure that the package is ready for shipping in the next wave/ad-hoc in its current state?

Both providers were merged with `state: not-ready` (IBM MQ in apache#62790, IBM
Db2 in apache#67532) so that they would not be picked up by a release wave before
their first review cycle. Release tooling filters on `state` only, so they
have stayed unreleased ever since: `lifecycle: incubation` never blocked a
release for the other incubating providers (DuckDB, ClickHouse, Vespa,
Anthropic), which all shipped their 0.1.0 in the wave after they were merged.

Flipping the state lets the next provider release wave publish 0.1.0 of both,
which is the precondition for either provider ever accumulating the usage and
issue history that graduation from incubation requires. Both re-enter their
own extra and the `all` extra of the meta-package, guarded by the ARM
platform markers each provider already declares.
@dabla dabla changed the title Mark the IBM MQ provider as ready for release Mark the IBM MQ and IBM Db2 providers as ready for release Sep 25, 2026
@dabla
dabla force-pushed the fix/ibm-mq-provider-ready branch from 2cdc367 to 5940706 Compare September 25, 2026 08:13
@dabla

dabla commented Sep 25, 2026

Copy link
Copy Markdown
Contributor Author

Yes. Nothing about the code has changed since the two providers were merged, and both are shippable in their current state.

IBM MQ. git diff --stat 23b334f29eb..main -- providers/ibm/mq/src providers/ibm/mq/tests shows three touched files, none behavioural: the namespace __init__.py lost a # type: ignore when Db2 joined the namespace (#67532), #73588 moved the queue provider's docstring block into docs/message-queues.rst, and one test assertion was adjusted for the queue_uri rename in common.messaging (#71346). Hooks and triggers are byte-for-byte what was merged in May. The remaining commits (#67757, #72058) only added the ARM excluded-platforms entries in provider.yaml. This is also the exact code we have been running in production at Infrabel on Airflow 3.3.x since spring for event-driven scheduling on IBM MQ.

IBM Db2. Since #67532 the only code change is #72025, which skips None-valued extras when building the connection string, plus its tests; the rest is a docs spellcheck fix (#72203) and the ARM exclusion (#72058).

What I checked on this branch just now:

  • uv build produces sdist and wheel for both providers, and twine check passes on all four artifacts.
  • Db2 unit tests: 23 passed. IBM MQ unit tests: 93 passed; the 12 remaining tests errored at collection in my local environment because it lacks the airflow_shared devel package, not because of the provider. They run in this PR's CI, which already exercises Providers[ibm.mq] and Providers[ibm.db2] on every main build since not-ready providers are tested like regular ones.
  • Both changelogs already carry the 0.1.0 "Initial version" entry, so prepare-provider-documentation needs no classification.

One operational note, unrelated to the packages themselves: the lowest-dependency CI job for ibm.mq downloads the MQ C client from IBM's server and has flaked on that download; #71544 adds a timeout and retries. It does not affect the released distribution, which depends on the ibmmq binding only through an optional extra.


Drafted-by: Claude Code (Fable 5.1) (no human review before posting)

The release-management commands list the ready providers as choices in
their help output, so marking IBM MQ and IBM Db2 as ready changed five of
the rendered screenshots and their hashes.
@dabla
dabla merged commit 122e24c into apache:main Sep 25, 2026
305 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants